The ways in which users interact with computing devices continues to increase. For example, users originally interacted with computing devices using punch cards, which then progressed to use of keyboards, then cursor control devices, and now gestures and user utterances, e.g., natural language systems. For example, desktop computers, mobile phones, game consoles, automobiles, and so forth may now include functionality in which a user may speak or type in a word or phrase to initiate corresponding functionality of the device, such as to send a text, make an appointment, learn about the weather, and so forth.
In order to do so, natural language systems are confronted with the problem of how capture, represent, and respond to a natural language question. Conventional techniques that are used to do so, however, are typically limited to a single dedicated domain (e.g., appointment scheduling) in order to develop a custom knowledge repository or ontology for the tasks that are to be addressed by these techniques, e.g., the appointment scheduling. Accordingly, conventional techniques are not scalable to other domains and often require that a user learn specific phrases in order to interact with the systems, which is inefficient, frustrating, and oftentimes inaccurate due to these limitations.